/**********************************************************************
 * @file   GUIDialogBase.h
 * @brief  对话框基类
 * @author BaGuijun (baguijun@163.com)
 * @date   2024-09-12
 *********************************************************************/
#ifndef _CFDPostGUIDialogBase_H
#define _CFDPostGUIDialogBase_H

#include "CFDPostGUIDialogAPI.h"

#include "FITK_Kernel/FITKCore/FITKAbstractGUI.h"

namespace Interface {
class FITKCFDPost3DManager;
class PostGraphObjectManager;
}

namespace EventOper {
class ParaWidgetInterfaceOperator;
}

namespace Core{
class FITKActionOperator;
}

namespace GUI
{
class MainWindow;
/**
     * @brief  对话框基类
     * @author BaGuijun (baguijun@163.com)
     * @date   2024-09-12
     */
class CFDPostGUIDialogAPI CFDPostGUIDialogBase : public Core::FITKDialog
{
    Q_OBJECT;
public:
    /**
         * @brief    构造函数
         * @param[i] oper      操作器对象
         * @param[i] parent    父对象
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-09-12
         */
    CFDPostGUIDialogBase(Core::FITKActionOperator* oper, QString dialogTitle, QWidget* parent = nullptr);
    /**
         * @brief    析构函数
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-09-12
         */
    ~CFDPostGUIDialogBase();
    /**
         * @brief    刷新
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-09-26
         */
    void reRender();
protected:
    /**
         * @brief  操作对象
         * @author BaGuijun (baguijun@163.com)
         * @date   2024-09-12
         */
    Core::FITKActionOperator* _oper = nullptr;
    Interface::FITKCFDPost3DManager* _postDataManager = nullptr;

    Interface::PostGraphObjectManager* _postGraphManager = nullptr;

    MainWindow* _mainWin = nullptr;
};
}

#endif
